1. Field of the invention
The present invention relates to a mechanism used for charging and connection handling in a communication connection in case of forking. In particular, the present invention is related to a method and apparatus used for charging and session handling for an IMS (IP Multimedia Subsystem) session in case of SIP (Session Initiation Protocol) forking.
For the purpose of the present invention to be described herein below, it should be noted that
a user terminal (UE) or terminal device may for example be any device by means of which a user may access a communication network; this implies mobile as well as non-mobile devices and networks, independent of the technology platform on which they are based; only as an example, it is noted that communication equipments operated according to principles standardized by the 3rd Generation Partnership Project 3GPP and known for example as UMTS terminals are particularly suitable for being used in connection with the present invention;                although reference is made herein to multimedia call or session, this exemplifies only a general example of a connection of any content; content as used in the present invention is intended to mean multimedia data of at least one of audio data (e.g. speech), video data, image data, text data, and meta data descriptive of attributes of the audio, video, image and/or text data, any combination thereof or even, alternatively or additionally, other data such as, as a further example, program code of an application program to be accessed/downloaded;        
method steps likely to be implemented as software code portions and being run using a processor at one of the entities described herein below are software code independent and can be specified using any known or future developed programming language;
method steps and/or devices likely to be implemented as hardware components at one of the entities are hardware independent and can be implemented using any known or future developed hardware technology or any hybrids of these, such as MOS, CMOS, BiCMOS, ECL, TTL, etc, using for example ASIC components or DSP components, as an example;
generally, any method step is suitable to be implemented as software or by hardware without changing the idea of the present invention;
devices or means can be implemented as individual devices or means, but this does not exclude that they are implemented in a distributed fashion throughout the system, as long as the functionality of the device is preserved.
2. Related Prior Art
In the last years, an increasing extension of communication networks, e.g. of wire based communication networks, such as the Integrated Services Digital Network (ISDN), or wireless communication networks, such as the cdma2000 (code division multiple access) system, cellular 3rd generation (3G) communication networks like the Universal Mobile Telecommunications System (UMTS), cellular 2nd generation (2G) communication networks like the Global System for Mobile communications (GSM), the General Packet Radio System (GPRS), the Enhanced Data Rates for Global Evolutions (EDGE), or other wireless communication system, such as the Wireless Local Area Network (WLAN), took place all over the world. Various organizations, such as the 3rd Generation Partnership Project (3GPP), the International Telecommunication Union (ITU), 3rd Generation Partnership Project 2 (3GPP2), Internet Engineering Task Force (IETF), and the like are working on standards for telecommunication network and multiple access environments.
In general, the system structure of a communication network is such that one party, e.g. a subscriber's terminal device, such as a mobile station, a mobile phone, a fixed phone, a personal computer (PC), a laptop, a personal digital assistant (PDA) or the like, is connected via transceivers and interfaces, such as an air interface, a wired interface or the like, to an access network subsystem. The access network subsystem controls the communication connection to and from the communication equipment and is connected via an interface to a corresponding core or backbone network subsystem. The core (or backbone) network subsystem switches the data transmitted via the communication connection to a destination party, such as another terminal device, a service provider (server/proxy), or another communication network. It is to be noted that the core network subsystem may be connected to a plurality of access network subsystems. Depending on the used communication network, the actual network structure may vary, as known for those skilled in the art and defined in respective specifications, for example, for UMTS, GSM and the like.
Generally, for properly establishing and handling a communication connection between network elements such as the terminal device and another communication equipment or terminal device, a database, a server, etc., one or more intermediate network elements such as control network elements, support nodes or service nodes are involved.
One application area whose importance for current and future communication systems increases comprises multimedia communication services. A multimedia call is a communication where, for example, voice (speech), text, data, video and/or picture are used simultaneously. Multimedia calls generally require the transmission of several different types of data (video, audio, and the like) in parallel, and these data are to be transmitted and received by various different types of communication equipments or network elements, so that it is required that plural communication protocols are negotiated and appropriate parameters for the communication are adjusted.
A current technology to merge the Internet with the cellular telecommunication world is the Internet Protocol (IP) Multimedia Subsystem or IMS. IMS is a standardized architecture for operators intending to provide mobile and fixed multimedia services. IMS uses a Voice over IP (VoIP) implementation based on a 3GPP standardized implementation of Session Initiation Protocol (SIP) and runs over the standard Internet Protocol (IP). Both packet-switched (PS) and circuit switched (CS) communication systems are supported.
The goal is to make available services offered by the Internet nearly everywhere by means of cellular mobile communication systems. IMS is introduced as part of the 3GPP standards since Release 5. As a part of the signalling mechanisms used between the IMS and an user equipment the Session Initiation Protocol (SIP) is used. Details of the structure and procedures executed in IMS are described in the related standards and are commonly known to a person skilled in the art so that a description thereof is omitted herein for the sake of simplicity.
For charging, generally two different methods are applicable. Offline charging is applied to users who pay for their services periodically (e.g., at the end of the month). Online charging, also known as credit-based charging, is used for prepaid services. Both may be applied to the same session. For each of these two charging methods, different procedures and network nodes (such as an Online Charging System (OCS) or a Charging Collector Function (CCF) in case of IMS) are used which are commonly known to a person skilled in the art and thus not described here in greater detail.
However, in case of using parallel forking function at session setup, the conventional charging procedures are not properly working. Parallel forking means that the call initiated by a first user is directed in parallel to several possible destination addresses of the called user. For example, if the calling user does not know the current address of the other party, a corresponding proxy server asks a location server for possible addresses of the called party. After receiving the addresses, the proxy server sends corresponding INVITE messages to all addresses simultaneously.
However, for example in case of a IMS session using SIP forking, the present charging solution defined in the corresponding 3GPP specifications are not adapted to handle correctly SIP parallel forking, neither in the forking Call State Control Function (CSCF) nor in the CSCFs in a backward direction (i.e. a direction from a called party to a calling party, or generally towards a calling party) from this point.
In case of online charging, in the forking CSCF, the charging triggers for different forking branches will be mixed up, so that a usual credit control session handling is not usable. On the other hand, in an CSCF located in the backward direction from the forking point, the charging will be incorrect if the forked INVITE request results in more then one 200 OK response, since it can neither be guaranteed that the session description of the proper branch is used for rating, nor that the whole charging session is not terminated by receiving a BYE request generated by the calling UE, for closing those dialogues (forking branches) in which a second, third etc. successful final response was received.
Furthermore, in case of offline charging, Accounting Requests (ACR) reflecting several successful sessions are to be generated in case the forked INVITE request results in multiple 200 OK responses. Therefore, the problem arises that the calling party is going to pay for sessions providing no real user service as well.